package com.mccken.eshop.market.domain.dto;

import java.io.Serializable;
import java.util.List;

import com.mccken.eshop.common.core.AbstractObject;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * @program: mccken-collect
 * @description:
 * @author: mccken
 * @create: 2022-09-03 23:07
 **/
@AllArgsConstructor
@NoArgsConstructor
@Data
@Builder
public class CalculateOrderAmountDTO extends AbstractObject implements Serializable {

	/**
	 * 订单费用信息
	 */
	private List<OrderAmountDTO> orderAmountDTOList;

	/**
	 * 订单条目费用信息
	 */
	private List<OrderAmountDetailDTO> orderAmountDetailDTOList;

	/**
	 * 营销计算出来的费用信息
	 */
	@Data
	public static class OrderAmountDTO extends AbstractObject implements Serializable {
		/**
		 * 订单编号
		 */
		private String orderId;

		/**
		 * 收费类型
		 */
		private Integer amountType;

		/**
		 * 收费金额
		 */
		private Integer amount;
	}

	/**
	 * 营销计算出来的订单条目费用信息
	 */
	@Data
	public static class OrderAmountDetailDTO extends AbstractObject implements Serializable {
		/**
		 * 订单编号
		 */
		private String orderId;

		/**
		 * 产品类型
		 */
		private Integer productType;

		/**
		 * sku编码
		 */
		private String skuCode;

		/**
		 * 销售数量
		 */
		private Integer saleQuantity;
		
		/**
		 * 销售单价
		 */
		private Integer salePrice;

		/**
		 * 收费类型
		 */
		private Integer amountType;

		/**
		 * 收费金额
		 */
		private Integer amount;
	}
}
